Twilio Programmable Videoについて簡単にまとめてみた
こんにちは、CX事業本部の若槻です。
TwilioにはProgrammable Videoというアプリケーションにビデオ通話機能を実装できるSDKが用意されています。
今回は、このProgrammable Videoについて簡単にまとめてみました。
Programmable Videoとは
Twilioのクラウド基盤を利用したWebRTCによる双方向のメディア通信(音声通話・ビデオ通話・データ通信)の機能をSDKにより実装できる機能です。このSDKを使用することにより既存のアプリケーションにリアルタイムコミュニケーション機能を追加することが可能となります。
ビデオ通話はユーザーが参加者としてルーム(会議)に参加することにより行えます。ルームには4つの種類あり、それぞれ次のような違いがあります。
ルームタイプ | 最大参加者数 | 料金(1参加者1分あたり) | 接続方式 | サーバー機能(録画など)の利用 |
---|---|---|---|---|
Go Room | 2 | 無料 | P2P | ✕ |
P2P Room | 3 | $0.0015 | P2P | ✕ |
Small Group Room | 4 | $0.004 ※ | SFU | ○ |
Group Room | 50 | $0.004 | SFU | ○ |
※こちらによると、Small Group Roomの場合はGroup Roomに比べて予約されるリソース量が少なくなるため、料金はGroup Roomよりもある程度減額されるとのこと。
P2P、SFUそれぞれの接続方式のトポロジーは次のようになります。SIGNALING
は制御情報、MEDIA
はメディアデータの通信を表しています。
- P2P接続方式
-
SFU(Selective Forwarding Unit)接続方式
画像はUnderstanding Video Rooms - Twilioより引用
Twilioの機能一覧とProgrammable Videoの位置付け
2020/11現在、Twilioでは次のような機能が提供されています。このうちProgrammable Videoは、ユーザーへコミュニケーションインターフェースを提供する機能群である「COMMUNICATIONS CLOUD」に属する機能となります。
- COMMUNICATIONS CLOUD
- Programmable Messaging:SMS、WhatsAppおよびチャットとのメッセージ送受信API
- Programmable Voice:固定電話との音声通話の受発信API
- Programmable Video:SDKによりアプリケーションへビデオ通話機能を実装できる
- Programmable Chat:SDKによりアプリケーションへチャット機能を実装できる
- Programmable Fax:FAXの送受信API(新規Twilioアカウントでは使用不可)
- Autopilot:SMS、音声通話、チャットなどへの自動応答を行うAIボット
- SUPER NETWORK
- Phone Numbers:電話番号の取得・管理
- Elastic SIP Trunking:固定電話網と接続可能なクラウドベースのSIP回線インフラ
- Internet of Things(Programmable Wireless):セルラー回線を使用したIoTデバイスの制御、分析、監視
- Interconnect:セキュリティや通信品質が確保されたプライベート回線による通信接続
- Lookup:電話番号を検証して配信不能やスパムの番号であるか検証できるAPI
- ENGAGEMENT CLOUD
- Flex:クラウド型コンタクトセンター
- Authy:SMSや音声電話による多要素・パスワードレス認証を可能とするAPIおよびモバイルアプリ
- Verify:SMS、音声電話およびEメールなどによる本人確認API
- TaskRouter:メッセージや通話を適切な担当者にルーティング
- Notify:プッシュおよびSMSによる通知API
- Conversations:SMS、WhatsAppおよびチャットを統合したクロスチャンネルなコミュニケーションを可能とするAPI
- Proxy:匿名でのコミュニケーションを可能とするAPI(ベータ)
- RUNTIME
- Functions:アプリケーションコードのホストおよび実行を行うスケーラブルかつマネージドなサーバーレス環境(ベータ)
- Studio:GUIでアプリケーションを構築できるビジュアルワークフロービルダー
- Assets:静的ファイルホスティング(ベータ)
- TwiML Bins:TwiML(Twilio Markup Language)を利用可能なサーバーレス環境
- Sync:複数のクライアント間の状態の同期を双方向かつリアルタイムで行うAPI
- API Explorer:TwilioのAPIの作成・検索・リクエストの実行を簡単に行えるコンソール(ベータ)
- Debugger:Twilioの利用で発生したErrorやWarningのログ検索を行えるコンソール
※この機能の一覧および分類は、Twilioコンソールのサイドバーメニューを基準としています。
Programmable Videoの実装
下記ブログでProgrammable Videoのハンズオンでの実装を紹介しています。
ルームに参加すると参加者同士でビデオ通話ができるデモアプリを実装しています。
Programmable Videoの料金(2020/11現在)
Video Groups
Create video applications that support up to 50 participants and include features like quality control, recordings, and phone dial-in/dial-out. Pricing is based on the amount of time participants are connected in a room.
price | unit | |
---|---|---|
Video Groups(ビデオ会議の参加) | $0.004 |
per participant per minute |
VIDEO GROUPS DATATRACK(音声・動画以外のデータ通信) | Unlimited |
|
VIDEO GROUPS RECORDING(録画) | $0.004 |
per participant per minute |
VIDEO GROUPS RECORDING COMPOSITIONS(複数の参加者の録画をまとめて1つのデータにする) | $0.01 |
per composed minute |
MEDIA STORAGE(録画データ保存) | $0.05/GB |
per month |
MEDIA DOWNLOAD(録画データダウンロード) | Unlimited |
Video P2P
Build peer-to-peer video applications using Video P2P, with unlimited TURN relay. Pricing is based on the amount of time your participants are connected in a room.
$0.0015
per participant per minute
Video WebRTC Go
Build and launch a one-to-one video application with our free developer toolkit to get the benefits of building on WebRTC without starting from scratch. Includes 25 GB/month of TURN. See docs to learn more.
Free
Programmable VideoのSDKの対応言語/フレームワーク
次のフロントエンド言語/フレームワークに対応したSDKが用意されています。
- JavaScript
- Android
- iOS
- React
参考
- Programmable Video Live Demos | Programmable Video - Twilio
- twilio/twilio-video-app-react: A collaboration application built with the twilio-video.js SDK and React.js
おわりに
Twilio Programmable Videoについて簡単にまとめてみました。
今までTwilioと言えば、Programmable Videoを除くと「固定電話への架電機能を実装できるサービス」というイメージがありましたが、今回調べてみて機能の充実ぶりに驚きました。
参考
- Understanding Video Rooms - Twilio
- Comparing Room types | Understanding Video Rooms - Twilio
- SIP trunkingとは? | | クラウドPBX【clocall クラコール】クラウド型IP電話サービス
- Using the DataTrack API - Twilio
- Announcing New Simplified Pricing for Programmable Video and SLA for Group Rooms - Twilio
- What is Cloud Communications - Twilio
- Twilio Products
- Twilio WebRTCハンズオン 2020版 - Qiita
以上